(1) Field of the Invention
The present invention relates generally to the field of electronic imaging, and more particularly, to a color-filter array (CFA) algorithm to estimate missing color information for a digital camera having a single color sensor.
(2) Description of the Prior Art
Color is the perceptual result of light in the visible region of the spectrum, having wavelengths in the region of 400 nm to 700 nm, incident upon the retina. The spectral distribution of light relevant to the human eye is often expressed in 31 components each representing a 10 nm band.
The human retina has three types of color photoreceptors cone cells, which respond to incident radiation with somewhat different spectral response curves. Because there are exactly three types of color photoreceptor, three numerical components are necessary and sufficient to describe a color, providing that appropriate spectral weighting functions are used.
The most common consumer cameras in digital imaging today are single sensor cameras. An image sensor is constructed as an array of tiny light-sensitive diodes called photosites or pixels. The photosites themselves usually do not extract color from light; they only convert photons from a wide spectral band into electrons. In order to record color images with a single sensor, the sensor is filtered so that different photosites receive different colored illumination. This type of sensor is known as a color-filter-array or CFA sensor. The different color filters are arranged in a predefined pattern across a sensor.
The most common arrangement is the Bayer color-filter-array (CFA), which was invented at Kodak. The CFA of a color imager follows often the commonly used said “Bayer” pattern. The pattern of said Bayer CFA is showed in FIG. 1 prior art. Half of the total number of photosites is green (G), while a quarter of the total number is assigned to both red (R) and blue (B). In order to obtain this color information, the color image photosites are covered with a red, a green, or a blue filter, in a repeating pattern. This pattern, or sequence, of filters can vary, but the widely adopted “Bayer” pattern is a repeated 2×2 arrangement as shown in FIG. 1 prior art.
This pattern, showed in FIG. 1 prior art, is based on the premise that the human eye derives most of the luminance data from the green content of a scene; and it is the resolution of this luminance data that is perceived as the “resolution” of an image. Therefore, by ensuring that more of the pixels are “green”, a higher resolution image can be created—compared with an alternating R-G-B color filter array with equal numbers of Red, Green and Blue photosites.
Single-sensor cameras spatially sample the incoming image using a CFA. Consequently, each photosite only contains a single color value. In order to reconstruct the original full-color image a demosaicing step must be performed which interpolates the missing colors at each pixel. Goals in CFA demosaicing include color fidelity, spatial resolution, no false colors, no jagged edges, no aliasing artifacts, and computational practicality. There is often a trade-off between a sharp image and the so-called “zipper effect” or jagged edge look. Several interpolation methods that utilize the color information in different ways are in use.
The challenge for the designer is to identify such an algorithm combining a high quality interpolation with a low computational effort.
There are various patents available dealing with said problems:
U.S. Pat. No. (6,366,318 to Smith et al.) describes a method for generating color image signals derived from an array of color image pixels, the array of color pixels are subsampled in order to generate an array of subsampled color pixels. An array of new, evenly spaced color pixels are interpolated from the subsampled color pixels using surrounding pixels of the same color, and the color image signals derived from the array of new color pixels are subsequently processed, e.g., in a color filter array interpolation. By providing this correction in a preprocessing step, the rest of the normal image processing hardware or software may be used on the resultant subsampled. CFA image without developing the characteristic blocky and wavy artifacts caused by an irregular subsampling pattern.
U.S. Pat. No. (6,268,939 to Klassen et al.) discloses a method and apparatus for improving the efficiency of color correcting subsampled luminance and chrominance-based data. More specifically, the present invention is directed to a method of applying a full conversion between color spaces for one pixel in a selected pixel block. Chrominance values are assigned to the remaining pixels based upon their luminance values relative to the luminance value of the converted pixel. The invention may be used to convert between various types of color spaces, and may be used in the processing of both device dependent and device independent data.
U.S. Pat. No. (5,506,619 to Adams et al.) describes an apparatus for processing a digitized image signal obtained from an image sensor having color photosites aligned in rows and columns that generate at least three separate color values but only one color value for each photosite location, a structure is provided which interpolates color values for each photosite location so that it has three different color values. The apparatus includes an image buffer for storing the digitized image signal and a processor operative with the buffer storing means for generating an appropriate color value missing from a photosite location by the interpolation of an additional color value for such photosite locations from color values of different colors than the missing color value at nearby photosite locations. The processor further includes a structure for obtaining Laplacian second-order values in at least two image directions from nearby photosites of the same column and row and which structure is responsive to the Laplacian second-order values for selecting a preferred orientation for the interpolation of the missing color value and for interpolating the missing color value from nearby multiple color values selected to agree with the preferred orientation.